/*------------------+
|	Tile Manager	|
|	------------	|
|	Class that		|
|	manages tiles	|
+------------------*/

#pragma once

#include <vector>
using std::vector;

#include "Tile.h"

class TileManager
{
public:

	// Get the instance
	static TileManager* GetInstance(void);

	// Add/remove a tile
	void AddTile(Tile* tile);
	void RemoveTile(Tile* tile);

	// Draw all the tiles
	void RenderTiles(void);

	// Clean out all the tiles
	void RemoveAllTiles(void);


private:
	TileManager(void) {}
	TileManager(const TileManager&);
	TileManager& operator=(const TileManager&);
	~TileManager(void) {}
	
	// Contained Tiles
	vector<Tile*> Tiles;

};

